//
//  ImageProcess.h
//  vImageStudy
//
//  Created by Evan Xie on 8/9/15.
//  Copyright (c) 2015 Family Wings. All rights reserved.
//

#ifndef vImageStudy_ImageProcess_h
#define vImageStudy_ImageProcess_h

typedef NS_ENUM(NSUInteger, ImageFilterType) {
    ImageFilterTypeGaussianBlur,
    ImageFilterTypeEmboss
};


// vImage Convolve Kernels
const int16_t gaussianblur_kernel[25] = {
    1, 4, 6, 4, 1,
    4, 16, 24, 16, 4,
    6, 24, 36, 24, 6,
    4, 16, 24, 16, 4,
    1, 4, 6, 4, 1
};

const int16_t KernelGaussianblur[9] = {
    1, 2, 1,
    2, 4, 2,
    1, 2, 1
};

const int16_t KernelEdgedetect[9] = {
    -1, -1, -1,
    0,  0,  0,
    1,  1,  1
};

const int16_t KernelEmboss[9] = {
    -2, -2, 0,
    -2,  6, 0,
    0,  0, 0
};

const int16_t sharpen_kernel[9] = {
    -1, -1, -1,
    -1, 9, -1,
    -1, -1, -1
};

const int16_t unsharpen_kernel[9] = {
    -1, -1, -1,
    -1, 17, -1,
    -1, -1, -1
};



const unsigned char morphological_kernel[9] = {
    1, 1, 1,
    1, 1, 1,
    1, 1, 1,
};


#endif
